Laravel 在今年年初發布第 11 版,意味著專案也要迎接一些變化,本篇文章介紹升級時需要注意的事情
Laravel 通常會提供詳細的升級指南,專案升級之前可以先查看 Laravel 官方升級指南 [^1] 以了解可能的重大變更和破壞性改動。
Laravel 11 可能需要更高版本的 PHP(例如 PHP 8.2 或更新版本)。確保你的環境符合 Laravel 11 的 PHP 要求。
使用以下命令更新 Laravel 的核心套件: composer require laravel/framework "^11.0" --update-with-all-dependencies
如果你的專案中還有其他 Laravel 相關套件或工具,像是 Horizon、Telescope 等,也需要檢查並更新這些套件的版本。
在 Laravel 10 及之前版本中,某些功能可能會在 Laravel 11 中被廢棄或移除。參照升級指南或 Release Notes,檢查是否有任何用到的功能被廢棄。
單元測試:升級後,確保運行所有的單元測試來驗證專案功能的正常性。
手動測試:檢查專案的核心功能和關鍵路徑是否能正常運作,特別是升級後涉及的改動點。
Laravel 新版本通常會引入新的配置項目或變更現有配置,使用 php artisan config:clear 並檢查 config 檔案中是否需要同步更新。
確認路由定義和中介層是否在新版本中仍然有效,並檢查 Laravel 是否引入了新的路由功能或語法。
升級後檢查 Blade 模板語法的變化,特別是涉及新功能或已廢棄功能的部分。
這些步驟應該可以幫助你順利地從 Laravel 10 升級到 Laravel 11。確保在升級前備份所有重要資料,以防萬一。
Laravel 每年通常發布一個主要版本,並提供 18 個月的錯誤修復和 2 年的安全性更新 (Laravel)。這意味著在每個新版本發布時,團隊應該在這 18 個月的窗口期內開始計劃升級,以避免面臨沒有錯誤修復和支持的風險。Laravel 生態系統中的其他套件,例如 Horizon、Telescope 和 Sanctum,通常也會緊隨主要版本更新,可能會在數月內發佈相容版本。
短期規劃(1-6 個月)
在 Laravel 新版本釋出後的 1-6 個月內:
中期規劃(6-12 個月)
長期規劃(12-18 個月)
Laravel 生態系中的大多數套件,特別是官方套件如 Horizon、Telescope、Sanctum,通常會在 Laravel 新版本發布後幾個月內釋出更新。團隊應密切關注這些套件的更新進度,並根據需要調整升級進度。
根據 Laravel 11 的支援期和 Laravel 生態系統的更新速度,建議在新版本釋出後的 6 個月內完成核心升級,並在 18 個月內將整個專案完全遷移至最新版本。這樣的策略不僅能保持系統的穩定性,還能及時利用 Laravel 新功能提升開發效率。
[1]: 升級指南 https://laravel.dev.org.tw/docs/11.x/upgrade
[2]: 版本說明 https://laravel.dev.org.tw/docs/11.x/releases